#pragma once

#include <CGAL/Cartesian.h>
#include <CGAL/Gmpq.h>
#include <CGAL/Polygon_2.h>
#include <CGAL/Polygon_with_holes_2.h>
#include <CGAL/Boolean_set_operations_2/Gps_default_dcel.h>
#include <CGAL/Polygon_set_2.h>
#include <list>
#include <CGAL/minkowski_sum_2.h>
#include <CGAL/Arrangement_2.h>

/*******************************************************************************************
 * This file contatins basic typedefs (from CGAL and more).
 *******************************************************************************************/

typedef CGAL::Gmpq                                  Number_type;
typedef CGAL::Cartesian<Number_type>		        Kernel;
typedef Kernel::Point_2								Point;
typedef CGAL::Polygon_2<Kernel>                     Polygon;
typedef CGAL::Polygon_with_holes_2<Kernel>          Polygon_with_holes;
typedef CGAL::Polygon_set_2<Kernel>					Polygon_set;
typedef std::list<Polygon_with_holes>				Polygon_with_holes_container;
typedef Polygon_set::Arrangement_2					Arrangement;
